package com.heima.mapper;

import com.github.pagehelper.Page;
import com.heima.pojo.Policy;
import com.heima.pojo.dto.PolicyPageDto;
import com.heima.pojo.vo.VmUsePolicyVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface PolicyMapper {
    /**
     * 分页查询
     * @param dto
     * @return
     */
    Page<Policy> pageQuery(PolicyPageDto dto);

    /**
     * 删除策略
     * @param id
     */
    @Delete("delete from tb_policy where policy_id = #{id}")
    void delById(Integer id);

    /**
     * 新增策略
     * @param policy
     */
    @Insert("insert into tb_policy(policy_name,discount,create_time,update_time) values(#{policyName},#{discount},#{createTime},#{updateTime})")
    void insert(Policy policy);

    /**
     * 根据策略查询售货机
     * @param policyId
     * @return
     */
    Page<VmUsePolicyVo> pageQueryByPolicyId(Integer policyId);

    void update(Policy policy);
}
